The present invention is related to the field of position encoders.
Position encoders can be incremental or absolute. A sensing unit of an incremental encoder senses position within an individual cycle between two scale graduations, but has no information about which cycle of the scale is being read. Typically, incremental encoder sensing units are combined with electronics to perform up/down counting of scale cycles. Thus, once an initial point on the scale has been identified, the encoder system measures displacement along the scale by reference to the up/down counters. Incremental encoders may not be useful in many applications, because any interruption in the inputs invalidates the displacement estimate in the counters. For example, if the scale is obscured at any point (perhaps by dirt), the counters will not register the proper value on the far side of the obscuration. Similarly, in the case of a power interruption, the encoder has no information about scale motions during the interruption. In either case, it is necessary to perform some initialization procedure to re-establish the encoder's reference.
Some incremental encoders employ an index, or reference, mark built into the scale. A separate sensing mechanism is usually required to detect the passing of the index mark. The index mark is typically used to reset the counters to a predetermined value, such as zero. However, this reset can only be effected by purposely moving the scale to force the index mark to pass the sensing mechanism.
In contrast to incremental encoders, absolute encoders employ sensing units that generate a complete or “absolute” position indication for each point on the scale without the need to count scale cycles as the scale moves. Absolute encoders do not require a position history, such as provided by a counter, and consequently their position indications are not invalidated by power interruptions or other events that require re-referencing an incremental encoder.
A classic approach for relatively low resolution absolute encoders incorporates multiple code tracks, each successive track being a factor of 2 more coarse. Thus, if there are 2N cycles in the scale, there are N tracks, which, when taken together, provide an N-bit cycle-identifying word. In one variation, Gray encoding is used to ensure that the code values change monotonically with movement of the scale.
Recently, a pseudo-absolute encoder has been introduced in which a cycle-identifying code is spread out over several cycles. If there are 2N cycles on the scale, the N bits of the code are spread over N adjacent cycles. Thus, to uniquely identify any particular cycle, the bit value at the current cycle is combined with the bits from the immediately adjacent N-1 cycles, which must have been sensed and remembered. The cycle-identifying code is a pseudo-random chain code, which means that the sequence of bits along the entire length of the code is such that, taken N bits at a time, no sequence repeats over the 2N cycles and each adjacent N-bit code word has the same bit sequence as its neighbor, except for either the left-most or right-most bit in the pseudo-random position word, and that the other N-1 bits are right or left shifted respectively.
Yet another approach to building an absolute encoder is taught in U.S. Pat. No. 5,965,879. The incremental scale and associated cycle-identifying code are imaged onto a 2-dimensional array detector, such as a CCD. The thus captured image is processed using image processing algorithms that mimic the way a human would read a ruler. One portion of the algorithm tracks the relative position of the incremental scale's lines as they move across the field of view, while the second portion of the algorithm interprets the cycle-identifying code. The output of the combined algorithm is the absolute displacement in the form: “the Mth cycle is 10 microns from the edge of the field, so the absolute displacement is M*P+10 microns, where P is the period of the scale”.
Yet another class of absolute encoders uses multiple periodic scale tracks with no explicit cycle-identifying code. These encoders are exemplified by U.S. Pat. No. 6,366,047. These encoders employ a number of fine tracks of similar period. The fine tracks are combined algebraically to form “beat” tracks of lower spatial frequency (or longer spatial period). The beat tracks are used to identify coarse position along the scale, which can be combined with position information from one of the fine tracks to arrive at an overall absolute position indication.